package Algorithm.handleString;

/**
 * 392. 判断子序列 https://leetcode.cn/problems/is-subsequence/
 * 题目简述：给定字符串s和t，判断s是否为t的子序列。子序列是删除一些字符而不改变剩余字符相对位置形成的新字符串。
 */
public class IsSubsequence {

    public static void main(String[] args) {
        new IsSubsequence().isSubsequence("axc", "ahbgdc");
    }

    /**
     * 思路：贪心比较即可，每遍历一个字符就在原串后续位置中查找匹配，并在比较的过程中记录已匹配的字符数。
     */
    public boolean isSubsequence(String s, String t) {
        int i = 0, j = 0, count = 0;
        for (;i < s.length();i++) {
            for(;j < t.length();j++) {
                if (s.charAt(i) == t.charAt(j)) {
                    j++;
                    count++;
                    break;
                }
            }
        }
        return count == s.length();
    }
}
